TalentSync

AI resume builder and ATS optimizer for job seekers. Tailored resumes, outreach, and interview prep from one profile.

Data processing and enhancement components

The data processing and enhancement components that power AI-driven resume transformations.

  • Enrichment workflow: modal dialogs, step-by-step wizards, loading states, and preview functionality
  • Improvement components: text difference display and modification previews
  • Regeneration components: iterative content refinement with instruction-based workflows
  • Data transformation pipelines, user interaction patterns, state management across multi-step processes
  • Backend integration with FastAPI endpoints and LLM orchestration
  • Error handling, progress tracking, and user feedback mechanisms

Repository layout#

The feature set spans frontend UI components, hooks for state management, typed interfaces, and backend services:

  • Frontend components implement modals and wizards for user interaction
  • Hooks manage multi-step state machines and coordinate with backend services
  • Services encapsulate API calls to FastAPI endpoints
  • Backend routes expose REST endpoints and delegate to service helpers
  • Service helpers transform resume data, orchestrate LLM prompts, and apply updates

Building blocks#

  • Enrichment Modal: Runs enrichment from analysis through applying edits, with transitions and error states.
  • Question Step: Presents targeted questions derived from the analysis and collects user answers.
  • Preview Step: Displays before/after diffs, allows approvals/rejections, and supports bulk actions and comments.
  • Loading Step: Provides consistent loading visuals during backend processing.
  • Regenerate Dialog: Guides users through selecting items, providing instructions, previewing regenerated content, and applying changes.
  • Instruction Step: Collects custom instructions with character limits and quick suggestions.
  • Regenerate Preview Step: Shows side-by-side comparisons and error summaries for failed items.
  • Diff Preview Modal: Renders improvement diffs, suggestions, refinement stats, and warnings.
  • Wizard Hooks: Centralized state machines for both enrichment and regeneration flows.
  • Services: Typed API clients wrapping backend endpoints for analysis, enhancement, refinement, regeneration, and improvement.
  • Backend Routes and Services: Orchestrate LLM prompts, transform resume data, and persist updates.

How it fits together#

The system follows a layered architecture:

  • UI Layer: Modal dialogs and wizard steps render state and collect user input
  • State Layer: Hooks implement finite state machines for multi-step flows
  • Service Layer: Typed API clients call backend endpoints
  • Backend Layer: FastAPI routes delegate to service helpers that orchestrate LLMs and data transformations

Enrichment workflow#

The enrichment flow transforms raw resume data into concrete feedback and enhancements:

  • Analysis: Extracts weak areas and generates clarifying questions
  • Question Collection: Groups questions by item and validates completeness
  • Enhancement Generation: Builds contextual prompts and requests LLM to produce improved bullet points
  • Preview and Review: Shows diffs, allows approvals/rejections, and bulk actions
  • Refinement: Re-generates rejected items with user feedback
  • Application: Persists approved enhancements to the resume

Key UI components:

  • EnrichmentModal orchestrates steps and error states
  • QuestionStep groups questions by item and enforces validation
  • PreviewStep renders diffs, manages patch reviews, and enables bulk actions
  • LoadingStep provides consistent progress feedback

Improvement and diff preview#

The improvement workflow optimizes resumes for job descriptions and presents detailed diffs:

  • Keyword extraction and resume improvement
  • Diff calculation between original and improved versions
  • Suggestions rendering and refinement statistics
  • Warning highlights for risky changes

Regeneration workflow#

The regeneration workflow lets users rewrite specific resume items with custom instructions:

  • Item selection with metadata
  • Instruction capture with character limits and quick suggestions
  • Parallel regeneration per item type
  • Preview with side-by-side comparison and error reporting
  • Application of successful regenerations

State management and data models#

Both wizards implement deterministic state machines:

  • Enrichment Wizard: idle → analyzing → questions → generating → preview → refining → applying → complete/error
  • Regenerate Wizard: idle → selecting → instructing → generating → previewing → applying → complete/error

Typed interfaces define the shape of data exchanged:

  • Enrichment types: AnalysisResponse, EnhancementPreview, RegenerateResponse, PatchReviewState
  • Improvement types: ResumeDiffSummary, ResumeFieldDiff, RefinementStats, ImprovementSuggestion

Dependencies#

Frontend-to-backend dependencies:

  • Enrichment endpoints: analyze, improve, refine, apply, regenerate, apply-regenerated
  • Improvement endpoints: improve, refine
  • Service layers transform resume data, construct prompts, and apply updates
  • Backend routes depend on LLM helpers and language utilities

Performance#

  • Parallelization: Regeneration tasks are executed concurrently per item to reduce latency.
  • Payload construction: Resume data is normalized and compacted before LLM calls to minimize token usage.
  • Diff computation: Efficient sequence matching minimizes overhead when computing differences.
  • UI responsiveness: Animated transitions and skeleton loaders improve perceived performance during async operations.

[No sources needed since this section provides general guidance]

Troubleshooting#

Common issues:

  • Analysis failures: Validate resume ID and network connectivity; display messages and allow retry.
  • Enhancement generation errors: Ensure all questions are answered; check backend logs for LLM errors.
  • Refinement failures: Confirm rejected items have comments; verify backend prompt correctness.
  • Apply failures: Inspect backend validation errors and mismatched content identifiers.
  • Regeneration errors: Review per-item error messages and retry failed items individually.

User-facing error surfaces:

  • Enrichment Modal error state with Try Again and Close actions
  • Regenerate Dialog error state with Go Back and Close actions
  • Diff Preview Modal displays warnings and refinement outcomes